#include "IFactory.h"
#include "IProduct.h"

#include <iostream>
using namespace std;

IFactory::IFactory()
{
}

IFactory::~IFactory()
{
}

ConcreteFactoryA::ConcreteFactoryA()
{
}
ConcreteFactoryA::~ConcreteFactoryA()
{
}

IProductA* ConcreteFactoryA::CreateProductA()
{
	return new ConcreteProductA1();
}
IProductB* ConcreteFactoryA::CreateProductB()
{
	return new ConcreteProductB1();
}


ConcreteFactoryB::ConcreteFactoryB()
{
}
ConcreteFactoryB::~ConcreteFactoryB()
{
}
IProductA* ConcreteFactoryB::CreateProductA()
{
	return new ConcreteProductA2();
}
IProductB* ConcreteFactoryB::CreateProductB() 
{
	return new ConcreteProductB2();
}
